(function($) {
    $.fn.Contato = function(method) {
        return $.fw.chamadaComponente.apply(this, ["Contato", arguments]);
    };

    $.Contato = {

        // -----------------------------------
        // Mostra o componente
        // -----------------------------------
        abrir: function(param, callbackOK) {

            // Referencia para this
            var $this = this;

            // Garante que o componente est� inicializado
            $this.Contato("carregar", param, function() {                                	 
			
            	//$("#slider").Slider();
            	// Evento botão enviar
                $("#btEnviar", $this).click(function(param) {
            			
                	// Obtêm parâmetros
                	var paramEmail = {};
                	paramEmail.nome = $("#txtNome",$this).val();
                	paramEmail.cidade = $("#txtCidade",$this).val();
                	paramEmail.telefone = $("#txtTelefone",$this).val();
                	paramEmail.email = $("#txtEmail",$this).val();
                	paramEmail.mensagem = $("#txtMensagem",$this).val();
                	
                	//$this.Contato("enviarEmail",paramEmail);
                	
                	// Valida o preenchimento dos campos
                	var respostaValidar = $this.Contato("validar",paramEmail);
                	
                	if (respostaValidar && respostaValidar == true) {
                		// chama o envio de email
                		$this.Contato("enviarEmail",paramEmail);
                	}else{
                		
                		$("#popupValidacao" ,$this).css("display","block");
                	} 
                	
        		});
				
				if (callbackOK)
					callbackOK();
            });

        },

        // -----------------------------------
        // Faz o carregamento inicial do componente
        // Garante que o html esteja carregado e inicializado
        // -----------------------------------
        carregar: function(param, callbackOK) {

            // Referencia para this
            var $this = this;

            // Nome do componente
            var funcaoCarregar = function(param, callbackOKCarregar) {                    

                // Chama o callback
                if (callbackOKCarregar)
                    callbackOKCarregar();

            };

            // Inicializa
            $.fw.carregarComponente({
                    nomeComponente: "Contato",
                    elemento: $this,
                    callbackCarregar: funcaoCarregar
                }, callbackOK);

        },
        
        validar: function(param) {
        	
        	if (param)
    		{
        		for (p in param)
    			{
        			if (!param[p] || $.trim(param[p]) == "")
        				return false;
    			}
        	}
        	
        	return true;
        },
        
        enviarEmail: function(param) {
        	
        	// Referêcia para o this
        	var $this = this;
        	
    		var request = {};
    		
    		
    		//tipoMensagem, mensagem, callbackOK, parametros
    		$.fw.servico("TesteRequest", { mensagem :  param }, function(data){
    			if (data)
    				alert("E-mail enviado com sucesso! Em breve entraremos em contato! Obrigado!");
    			
    		});
        }
    }

})(jQuery);